/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pl.nazaweb.imedproplus.model.interfaces;

import java.util.Date;
import java.util.List;
import javax.xml.bind.annotation.XmlTransient;
import pl.nazaweb.imedproplus.model.entity.Diagnosis;
import pl.nazaweb.imedproplus.model.entity.Icd10;
import pl.nazaweb.imedproplus.model.entity.OrganizationStructure;
import pl.nazaweb.imedproplus.model.entity.Patient;
import pl.nazaweb.imedproplus.model.entity.Referral;
import pl.nazaweb.imedproplus.model.entity.Staff;
import pl.nazaweb.imedproplus.model.entity.VisitProcedure;

/**
 *
 * @author naza
 */
public interface IVisit {

    Date getAuthorizingDate();

    Staff getAuthorizingStaff();

    Date getDateFrom();

    Date getDateTo();

    @XmlTransient
    List<Diagnosis> getDiagnosisList();

    @XmlTransient
    List<Icd10> getIcd10List();

    Long getId();

    String getNfzOrganizationUnitCode();

    OrganizationStructure getOrganizationUnit();

    Patient getPatient();

    Referral getReferral();

    String getStatus();

    @XmlTransient
    List<VisitProcedure> getVisitProcedureList();

    void setAuthorizingDate(Date authorizingDate);

    void setAuthorizingStaff(Staff authorizingStaff);

    void setDateFrom(Date dateFrom);

    void setDateTo(Date dateTo);

    void setDiagnosisList(List<Diagnosis> diagnosisList);

    void setIcd10List(List<Icd10> icd10List);

    void setId(Long id);

    void setNfzOrganizationUnitCode(String nfzOrganizationUnitCode);

    void setOrganizationUnit(OrganizationStructure organizationUnit);

    void setPatient(Patient patient);

    void setReferral(Referral referral);

    void setStatus(String status);

    void setVisitProcedureList(List<VisitProcedure> visitProcedureList);
    
}
